//package Demo2_25;
//
///**
// * Created with IntelliJ IDEA.
// * Description:
// * User：Lenovo
// * Date:2025-02-25
// * Time:19:49
// */
//// 定义二叉树节点类
//class TreeNode {
//    int val;
//    TreeNode left;
//    TreeNode right;
//    TreeNode() {}
//    TreeNode(int val) { this.val = val; }
//    TreeNode(int val, TreeNode left, TreeNode right) {
//        this.val = val;
//        this.left = left;
//        this.right = right;
//    }
//}
//
//class Solution1 {
//    public boolean isSubtree(TreeNode root, TreeNode subRoot) {
//        if (root == null) {
//            return false;
//        }
//        if (isSameTree(root, subRoot)) {
//            return true;
//        }
//        if (isSubtree(root.left, subRoot)) {
//            return true;
//        }
//        if (isSubtree(root.right, subRoot)) {
//            return true;
//        }
//        return false;
//    }
//
//    public boolean isSameTree(TreeNode p, TreeNode q) {
//        if ((p == null && q != null) || (p != null && q == null)) {
//            return false;
//        }
//        if (p == null && q == null) {
//            return true;
//        }
//        if (p.val != q.val) {
//            return false;
//        }
//        return isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
//    }
//
//
//    public static void main(String[] args) {
//        // 创建主树
//        TreeNode root = new TreeNode(3);
//        root.left = new TreeNode(4);
//        root.right = new TreeNode(5);
//        root.left.left = new TreeNode(1);
//        root.left.right = new TreeNode(2);
//
//        // 创建子树
//        TreeNode subRoot = new TreeNode(4);
//        subRoot.left = new TreeNode(1);
//        subRoot.right = new TreeNode(2);
//
//        // 创建 Solution 类的实例
//        Solution1 solution = new Solution1();
//
//        // 调用 isSubtree 方法判断主树中是否包含子树
//        boolean result = solution.isSubtree(root, subRoot);
//
//        // 输出结果
//        System.out.println("主树中是否包含子树: " + result);
//    }
//}
